// pages/my/my.js
const app = getApp()
import http from '../../utils/http'

Page({

  /**
   * 页面的初始数据
   */
  data: {
    //自定义表头的设置的设置
    navBarHeight: app.globalData.navBarHeight,
    menuRight: app.globalData.menuRight,
    menuTop: app.globalData.menuTop,
    menuHeight: app.globalData.menuHeight,
    userShow: false,
    name: '',
    avatarUrl: '',
    show: true,
    agree: false
  },
  checkboxChange(e) {
    console.log('checkbox发生change事件，携带value值为：', e.detail.value)
    if (e.detail.value) {
      this.setData({
        show: !this.data.show
      })

    }
  },
  goOnder(e) {
    console.log(e);
    wx.navigateTo({
      url: '../orderList/orderList?status=' + e.currentTarget.dataset.id
    })
  },
  // 快速获取用户头像的方法
  onChooseAvatar(e) { //e.detail.avatarUrl就是用户选择的头像本地路径 

    this.setData({
      avatarUrl: e.detail.avatarUrl
    })
    console.log(111);
    this.upLoad()
  },
  upLoad() {
    console.log(1);
    var url = getApp().globalData.serviceUrl;

    wx.uploadFile({
      url: url + `xcx-api/xcx/productionManage/uploadOSSFile`,
      filePath: this.data.avatarUrl,
      method: 'POST',
      name: 'filePath',
      header: {
        'content-type': 'multipart/form-data',
        Authorization: wx.getStorageSync('intelligent_token'),
        villageId: wx.getStorageSync('villageId')
      },
      success: res => {
        console.log(res);
        let data = JSON.parse(res.data)
        console.log(data);
        if (data.code == 200) {
          this.setData({
            avatarUrl: data.data
          })
          this.saveUserInfo()
        } else {
          wx.showToast({
            title: data.msg,
            icon: 'none'
          })
        }
      },
      fail: res => {
        console.log(res)
      }
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },
  // 登录
  bindgetuserinfo(e) {
    if (this.data.show == false) {

      var url = getApp().globalData.serviceUrl;
      // 推荐使用wx.getUserProfile获取用户信息，开发者每次通过该接口获取用户个人信息均需用户确认，开发者妥善保管用户快速填写的头像昵称，避免重复弹窗
      wx.getUserProfile({
        desc: '展示用户信息', // 声明获取用户个人信息后的用途，后续会展示在弹窗中，请谨慎填写
        success: (res) => {
          console.log(res)
          this.setData({
            userShow: true,
            avatarUrl: res.userInfo.avatarUrl,
            name: res.userInfo.nickName
          })
          //存储已经保存的用户数据
          wx.setStorageSync('userInfo', res.userInfo)
          console.log("存储用户数据<getUserProfile>：" + res.userInfo)
          wx.login({
            success: (res) => {
              console.log(res.code);
              // 1. 拿到code发送给后端
              wx.request({
                url: url + '/xcx-api/xcx/login/wxLogin',
                header: {
                  'content-type': 'application/x-www-form-urlencoded'
                },
                method: "POST",
                data: {
                  code: res.code
                },
                success: ((res) => {
                  getApp().globalData.userid = res.data.data.openId
                  wx.setStorageSync('openId', res.data.data.openId)
                  wx.setStorageSync('token', res.data.data.token)
                  wx.setStorageSync('sysUserId', res.data.data.sysUserId)
                  wx.setStorageSync('userInfoId', res.data.data.userInfoId)
                  wx.setStorageSync('usert', JSON.stringify(getApp().globalData))
                  setTimeout(() => {
                    this.getUserInfo()

                  }, 500);
                })
              })
            },
          })
        }
      })
    } else {
      wx.showToast({
        title: '请先阅读并同意服务协议',
        icon: "none"
      })
    }


  },
  // // 登录获取头像
  getUserInfo() {
    var url = getApp().globalData.serviceUrl;

    wx.request({
      url: url + '/xcx-api/xcx/login/getUserInfo',
      header: {
        'sysUserId': wx.getStorageSync('sysUserId'),
        'userInfoId': wx.getStorageSync('userInfoId'),
        'userid': wx.getStorageSync('userid')
      },
      method: "get",
      data: {},
      success: ((res) => {
        this.setData({
          name: res.data.data.nickName,
          avatarUrl: res.data.data.headImage
        })
        wx.reLaunch({
          url: '../my/my',
        })
      })
    })
  },
  // 编辑头像和名称
  saveUserInfo() {
    http.fpost(`xcx-api/xcx/login/saveUserInfo`, { headImage: this.data.avatarUrl, nickName: this.data.name }).then(res => {

      if (res.code == 200) {
        console.log(res.msg);
      }
    });
  },
  goToLearnOrder() {
    wx.navigateTo({
      url: '../myGraduate/myGraduate',
    })
  },
  goToActive() {
    wx.navigateTo({
      url: '../myActive/myActive',
    })
  },
  // 跳转我的地址
  handleGoMyaddress() {
    if (wx.getStorageSync('userInfoId') == '') {
      wx.showModal({
        title: '',
        content: '请先完成微信授权登录',
        success(res) {
          if (res.confirm) { } else if (res.cancel) {
            console.log('用户点击取消')
          }
        }
      })
    } else {

      wx.navigateTo({
        url: '../myaddress/myaddress',
      })
    }
  },

  bindblur(e) {
    console.log(e);
    this.setData({
      name: e.detail.value
    })
    this.saveUserInfo()
  },
  cleanMy() {
    wx.clearStorage()
    this.setData({
      userShow: false,
      show: true
    })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    this.setData({
      show: true
    })
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})